home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbdatabs / readme.txt < prev    next >
Text File  |  1999-04-01  |  11KB  |  268 lines

  1. #######################
  2. #### Start of File ####
  3. #######################
  4. ----------------------------------------------------------------- 
  5. File Name: readme.txt 
  6. Contents: General information about this distribution.
  7. ----------------------------------------------------------------- 
  8.  
  9. TOPICS:
  10. ------- 
  11. Overview
  12. Copyright
  13. History
  14. Future
  15. C++ Issues
  16. Supported Platforms
  17. Unzipping
  18. DJGPP Compiler
  19.  
  20. OVERVIEW:
  21. ---------
  22. The Variable Block Database (VBD) is a collection of C++ classes
  23. used to build portable database applications.
  24.  
  25. Features:
  26.  
  27. - Built-in support for multi-user and single user access for both 
  28. traditional and client/server applications. 
  29.  
  30. - Uses a 32-bit CRC checksum to ensure 99.9999% data integrity    
  31. and offers both best-fit and first-fit allocation methods to
  32. prevent fragmentation. 
  33.  
  34. - Database access methods include a B-tree with iterator and
  35. memory caching, navigational access, fixed and variable-length
  36. records. 
  37.  
  38. - Includes general-purpose data structures such as linked lists,
  39. stacks, queues, balanced binary trees and others as well as a
  40. variable length string class, a postscript driver, and HTML
  41. driver.
  42.  
  43. - Ships with an advanced database recovery utility plus other
  44. text and binary utilities.
  45.  
  46. - Built-in GUI support for wxWindows: versions 1.68B and 2.0.1
  47. For more information about wxWindows, visit the wxWindows home 
  48. site at: http://web.ukonline.co.uk/julian.smart/wxwin/ 
  49.  
  50. Example Programs:
  51.  
  52. Several example programs with makefiles for MSVC, HPUX C++,
  53. DJGPP, and the GNU C++ compiler are provided to demonstrate each
  54. of the concepts presented. Release 1031 has been built and tested
  55. under Windows 95/98, MSDOS, HPUX 10.20, Solaris 2.4, and RedHat
  56. Linux 5.2.
  57.  
  58. Documentation:
  59.  
  60. All the documentation for the distribution is provided in an HTML
  61. format. The documentation covers the VBD C++ class library, the
  62. example programs, and the utility programs provided with this
  63. distribution. Parts of the documentation may be made available in
  64. other formats upon request. 
  65.  
  66. COPYRIGHT AND WARRANTY INFORMATION:
  67. -----------------------------------
  68. The VBD C++ classes are copyright (c) 1997, by Douglas M. Gaer.
  69. All those who put this code or its derivatives in a commercial
  70. product MUST mention this copyright in their documentation for
  71. users of the products in which this code or its derivative
  72. classes are used. Otherwise, you have the freedom to redistribute
  73. verbatim copies of this source code, adapt it to your specific
  74. needs, or improve the code and release your improvements to the
  75. public provided that the modified files carry prominent notices
  76. stating that you changed the files and the date of any change. 
  77.  
  78. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
  79. THE ENTIRE RISK OF THE QUALITY AND PERFORMANCE OF THIS SOFTWARE
  80. IS WITH YOU. SHOULD ANY ELEMENT OF THIS SOFTWARE PROVE DEFECTIVE,
  81. YOU WILL ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
  82. CORRECTION. 
  83.  
  84. HISTORY:
  85. --------
  86. The Variable Block Database and all of its sub-components were
  87. developed out of the need for scalable database applications that
  88. were portable between PCs running Microsoft's Windows 95 and
  89. Hewlett Packard Workstations and Servers running HPUX (HP's
  90. version of UNIX.) In order to meet these requirements the file
  91. format and the source code had to remain consistent under both
  92. operating systems. In addition to the operating system, the file
  93. format and the source code had to work using both the PC's Intel
  94. x86 family of microprocessors and Hewlett Packard's PA-RISC
  95. family of microprocessors. The VBD project started in November of
  96. 1996 and was released to the public one year later. Version 1031 
  97. was completed and released in April of 1999.
  98.  
  99. FUTURE OF THE VARIABLE BLOCK DATABASE:
  100. --------------------------------------
  101. The future of the Variable Block Database is highly dependent on
  102. its acceptance in the public domain. I developed the Variable
  103. Block Database as a sideline project with the hope that other
  104. developers would contribute to its success. My goal is to develop
  105. a truly portable library of C++ classes that can be used to build
  106. scalable database applications powerful enough to meet the needs
  107. of commercial applications. If you would like to make any
  108. contributions or if you have any suggestions please contact me
  109. at:
  110.  
  111. Doug Gaer
  112. 11691 SW 17TH ST
  113. Miami, FL 33165-2149
  114.  
  115. Phone: 305-229-4461
  116. FAX: 305-553-1901
  117.  
  118. dgaer@email.com
  119.  
  120. ftp://ftp.nhc.noaa.gov/pub/doug 
  121.  
  122. http://www.webpost.net/dg/dgaer/
  123.  
  124. C++ ISSUES:
  125. -----------
  126. Every component of the Variable Block Database was developed
  127. entirely in C++ and applies the object-oriented programming
  128. principles of abstraction, encapsulation, inheritance, and
  129. polymorphism. All the source code was originally written using
  130. Microsoft Visual C/C++ versions 1.52, 4.0, 4.1, and 4.2 and then
  131. ported to HPUX using HP CPP version 10.24. Additionally, the code
  132. was built and tested using the DJGPP C/C++ compiler version
  133. 2.7.2.1 and the GNU C/C++ compiler version 2.7.2.1. 
  134.  
  135. Every C++ compiler has its own peculiarities, especially when
  136. implementing run time type information (RTTI), templates, and
  137. exception handling. RTTI allows the type of an object to be
  138. determined during program execution and can be used to find the
  139. actual type of an object without entering it. Templates allow the
  140. creation of generic functions and generic classes in which the
  141. type of data operated on is specified as a parameter. This allows
  142. you to use several different types of data without having to
  143. re-code specific versions for different data types. C++ includes
  144. its own error-handling routines called exception handling. Using
  145. C++ exception handling, a program can automatically invoke an
  146. error-handling routine when an error occurs. 
  147.  
  148. RUN TIME TYPE INFORMATION:
  149. RTTI was implemented under version 4.2 of Microsoft Visual C/C++
  150. in order to perform several type casting operations and obtain 
  151. type information. All of the RTTI features were removed because
  152. version 10.24 of the HPUX C++ compiler did not support RTTI. Also
  153. the type information was not consistent between version 2.7.2.1
  154. of the GNU C/C++ compiler and version 4.2 of Microsoft Visual
  155. C/C++. 
  156.  
  157. TEMPLATES:
  158. Templates are widely used, but can be omitted in the VBD core
  159. classes and Persistent Object Database Manager classes with the
  160. use of pre-processor directives. Any code that uses the VBD core
  161. classes and the POD manager can use the template version if
  162. needed or the non-template version if portability problems arise.
  163. Two versions were originally created because version 1.52 of
  164. Microsoft Visual C/C++ did not support templates. The General
  165. Purpose Data Structures provided with this distribution are only
  166. implemented as template classes. These classes are only used in
  167. some of the example programs and compiled with no portability
  168. issues on all the C++ compilers mentioned. 
  169.  
  170. EXCEPTION HANDLING:
  171. Two forms of exception handling were originally developed because
  172. version 1.52 of Microsoft Visual C/C++ did not support C++
  173. exception handling. A global exception handler or C++ exception
  174. handling, denoted by the key words "try", "catch", and "throw",
  175. can be selected with the use of a pre-processor directive. In
  176. this distribution C++ exception handling has been omitted from
  177. all the example programs because of certain problems that arose
  178. while debugging the code. If a program error occurs during a file
  179. operation the global exception handler will flag you with an
  180. error message and terminate the program if necessary. 
  181.  
  182. SUPPORTED PLATFORMS:
  183. --------------------
  184. Variable Block Database files are designed to be portable between
  185. DOS, Windows 95, and UNIX systems. The VBD C++ class library and
  186. the example programs have been compiled and tested using the
  187. following platforms: 
  188.  
  189. Windows 95 - using MSVC version 4.2 and 5.0
  190. DOS - using DJGPP version 2.7.2.1
  191. HPUX 10.20 - using HP CPP version 10.24
  192. Solaris 2.4 - using GNU g++ version 2.7.2.1
  193. RedHat Linux 5.2 - using GNU g++ version egcs-2.90.29
  194.  
  195. Four different makefiles are provided in the source code
  196. directories to build